package ltd.hanamaki.study.oop.demo05;

/**
 * 封装就是属性的私有 private
 *
 * 封装的好处 ：
 *  1. 保护程序的安全性，保护数据
 *  2. 隐藏代码的细节
 *  3. 统一接口  get   set
 *  4. 系统的可维护性增加
 */
public class Person {

    private String name;
    private Integer age;

    /* 使用快捷键  alt + insert 生成 get  和 set 的  方法*/

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        if (age <= 0 || age > 120) {
            this.age = 20;
        } else {
            this.age = age;
        }
    }

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}
